package opf5.entities.notificaciones;

import java.util.List;

import opf5.entities.dominio.Equipo;
import opf5.entities.dominio.Jugador;
import opf5.entities.dominio.Partido;
import opf5.entities.partidos.PartidoDecorator;
import opf5.utilidades.Email;
import opf5.utilidades.EnviadorDeEmail;

public class PartidoNotificadorIncompletoDecorator extends PartidoDecorator {
	private EnviadorDeEmail enviadorDeEmail;
	private Jugador administrador;

	public PartidoNotificadorIncompletoDecorator(Partido partido,
			EnviadorDeEmail e,
			Jugador admin) {
		super(partido);
		enviadorDeEmail = e;
		administrador = admin;
	}

	@Override
	public void darDeBajaSinReemplazo(Jugador unJugador) {
		boolean estabaCompleto = ! hayLugar();
		
		super.darDeBajaSinReemplazo(unJugador);
		
		if (estabaCompleto)
			notificarPartidoIncompleto();
	}

	private void notificarPartidoIncompleto() {
		Email email = new Email(
				administrador.getEmail(),
				"Partido dejo de estar completo",
				"Partido dejo de estar completo");
		
		enviadorDeEmail.enviarEmail(email);
	}
}
